星巡研究院

渗透视角下的C语言

* `select(nfds, &readfds, &writefds, &exceptfds, &timeout)`:等待三组位图就绪,x86-64 系统调用号 23。glibc 现代实现经 `pselect6`(号 270)包装。 * `FD_ZERO(&set)`:清空位图。`FD_SET(fd, &set)`:把描述符加入。`FD_ISSET(fd, &set)`:返回后检测该位是否就绪。`FD_CLR(fd, &set)`:移除。 * `struct timeval`:秒 + 微秒精度的等待超时,调用返回后会被内核改写为剩余时间,循环中必须重置。 * `FD_SETSIZE`:位图容量上限,默认 1024,超过的描述符无法被监听。
这是进阶内容

升级理论包获取本册全部章节,从机器本质系统入门